Emacs Native Code

GNU Emacs Lisp 支持将 Lisp 函数定义编译成本地代码,这是一个可选的功能,需要 libgccjit 库的支持,该库是 GCC 发行版的一部分。

使用本地代码可以直接由机器的硬件执行,从而获得更快的执行速度,通常比字节编译后的代码快 2.5 到 5 倍。

由于本地代码通常在不同的系统之间是不兼容的,因此在不同的机器之间传输本地编译后的 Lisp 代码是不可能的。

为了避免在同一目录中同时存在多个版本的 Lisp 库,Emacs 通常会使用唯一的文件名来命名本地编译后的库。

可以通过设置文件局部变量 no-byte-compileno-native-compile 来禁止对特定文件进行字节编译和本地编译。


native-comp-available-p

要确定当前的 Emacs 进程是否可以生成和加载本机编译的 Lisp 代码,请调用 native-comp-available-p (参见 Native-Compilation Functions)。


网络资源


本文作者:Maeiee

本文链接:Emacs Native Code

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!